package com.lglin.service.product;

import com.lglin.bean.product.entity.Category;
import com.lglin.bean.product.entity.Product;
import com.lglin.common.bean.Review;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public interface ProductService {
    /**
     * 获取商品分类
     * @return
     */
    List<Category> getCategory();

    /**
     * 得到分类对应的商品数量
     * @param cId
     * @return
     */
    int getProductCountBycId(int cId, String key);

    /**
     * 条件查询商品
     * @param data
     * @return
     */
    List<Product> selectProducts(String data);

    /**
     * 根据id查询商品信息
     * @param id
     * @return
     */
    Product selectOneById(int id);

    /**
     * 获取评论数量
     * @param id
     * @return
     */
    int getReviewsCountById(int id);

    /**
     * 查询商品的评论
     * @param id
     * @return
     */
   List<Review> getReviewsById(int id);

    /**
     * 获取商品评论下面所有的星星
     * @param id
     * @return
     */
    List<Integer> getAllStarById(int id);

    /**
     *
     * @param list
     * @return
     */
    List<Product> selectProductsByIds(List<Integer> list);

    /**
     * 推荐商品
     * @return
     */
    List<Map<String, Object>> recomProduct(int num);
}
